﻿#pragma once

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#ifdef __cplusplus
extern "C" {
#endif

#define MAX 1024
	//1.顺序栈数据结构；
	struct SStack
	{
		//2.存放数据的数组；
		void* data[MAX];
		//3.栈中元素的个数；
		int size;
	};

	typedef void* SeqStack;

	//4.数组高下标的位置当作栈顶，因为不需要移动数组中的元素，在插入和删除时；

	//5.初始化；
	SeqStack Init_SeqStack();
	//6.入栈；
	void Push_SeqStack(SeqStack stack, void* data);
	//7.出栈；
	void Pop_SeqStack(SeqStack stack);
	//8.获得栈顶元素；
	void* Top_SeqStack(SeqStack stack);
	//9.获得栈的大小；
	int Size_SeqStack(SeqStack stack);
	//10.销毁栈；
	void Destroy_SeqStack(SeqStack stack);

#ifdef __cplusplus
}
#endif
